import eventlet
# 1.使用monkey_patch方法改写系统io接口,以方便以协程的方式调用
eventlet.monkey_patch()
import socketio
import eventlet.wsgi

# 2.以eventlet(协程)的方式创建socketio对象
sio = socketio.Server(async_mode='eventlet')

# 3.以sio创建一个符合WSGI协议的app对象
app = socketio.Middleware(sio)

# 4.监听事件
@sio.on('connect')
def on_connect(sid,environ):
    """
    sid 是socketio为当前连接客户端生成的识别id
    :param sid:
    :param environ: 握手数据,http协议报文,是一个字典对象
    :return:
    """
    msg = '你好! {}'.format(sid)
    # 群发
    sio.emit('message', msg)
    # 单独发给当前用户,也就是指定room=sid
    sio.emit('message', msg, room=sid)

# 5.创建socket对象
socket = eventlet.listen(('192.168.226.129', 8888))

# 6.使用协程的方式启动服务器
eventlet.wsgi.server(socket, app)







